package com.qunar.train.mock.abtest;

import com.qunar.abtest.ABTests;

import mockit.Mock;
import mockit.MockUp;

public class MockABTests {

    public static String VERSION = "1.0";

    public static ThreadLocal<MockABTests> threadLocal = new ThreadLocal<>();

    public static MockABTests getInstance() {
        if (threadLocal.get() == null) {
            threadLocal.set(new MockABTests());
        }
        return threadLocal.get();
    }

    private java.util.Map<java.lang.String, com.qunar.abtest.useragent.AppAbStrategy> ab4mcReturnValuePMapAppclientinfoAppadrcomponentlist = null;
    private java.util.Map<java.lang.String, com.qunar.abtest.useragent.AppAbStrategy> ab4mcReturnValuePMapStringString = null;
    private java.util.Map<java.lang.String, com.qunar.abtest.useragent.AppAbStrategy> ab4mcReturnValuePSetStringAppclientinfoAppadrcomponentlist = null;
    private java.util.Map<java.lang.String, com.qunar.abtest.useragent.AppAbStrategy> ab4mcReturnValuePStringStringStringString = null;
    private com.qunar.abtest.useragent.AppAbCommonResult ab4mccReturnValuePMapAppclientinfoAppadrcomponentlist = null;
    private com.qunar.abtest.useragent.AppAbCommonResult ab4mccReturnValuePMapStringString = null;
    private com.qunar.abtest.useragent.AppAbCommonResult ab4mccReturnValuePSetStringAppclientinfoAppadrcomponentlist = null;
    private com.qunar.abtest.useragent.AppAbCommonResult ab4mccReturnValuePStringStringStringString = null;
    private com.qunar.abtest.ABSlot abReturnValuePStringString = null;
    private com.qunar.abtest.ABSlot abReturnValuePStringStringAppclientinfo = null;
    private com.qunar.abtest.ABSlot abReturnValuePStringStringAppclientinfoAppadrcomponentlist = null;
    private com.qunar.abtest.ABSlot abReturnValuePStringStringString = null;
    private com.qunar.abtest.ABSlot abReturnValuePStringStringStringString = null;
    private boolean equalsReturnValue = false;
    private int hashCodeReturnValue = 0;
    private java.lang.String toStringReturnValue = null;

    public static class ABTestsMockUp extends MockUp<ABTests> {
        @Mock
        public java.util.Map<java.lang.String, com.qunar.abtest.useragent.AppAbStrategy> ab4mc(java.util.Map<java.lang.String, java.lang.String> arg0, com.qunar.abtest.useragent.AppClientInfo arg1, com.qunar.abtest.useragent.AppAdrComponentList arg2) {
            return getInstance().ab4mcReturnValuePMapAppclientinfoAppadrcomponentlist;
        }

        @Mock
        public java.util.Map<java.lang.String, com.qunar.abtest.useragent.AppAbStrategy> ab4mc(java.util.Map<java.lang.String, java.lang.String> arg0, java.lang.String arg1, java.lang.String arg2) {
            return getInstance().ab4mcReturnValuePMapStringString;
        }

        @Mock
        public java.util.Map<java.lang.String, com.qunar.abtest.useragent.AppAbStrategy> ab4mc(java.util.Set<java.lang.String> arg0, java.lang.String arg1, com.qunar.abtest.useragent.AppClientInfo arg2, com.qunar.abtest.useragent.AppAdrComponentList arg3) {
            return getInstance().ab4mcReturnValuePSetStringAppclientinfoAppadrcomponentlist;
        }

        @Mock
        public java.util.Map<java.lang.String, com.qunar.abtest.useragent.AppAbStrategy> ab4mc(java.lang.String arg0, java.lang.String arg1, java.lang.String arg2, java.lang.String arg3) {
            return getInstance().ab4mcReturnValuePStringStringStringString;
        }

        @Mock
        public com.qunar.abtest.useragent.AppAbCommonResult ab4mcc(java.util.Map<java.lang.String, java.lang.String> arg0, com.qunar.abtest.useragent.AppClientInfo arg1, com.qunar.abtest.useragent.AppAdrComponentList arg2) {
            return getInstance().ab4mccReturnValuePMapAppclientinfoAppadrcomponentlist;
        }

        @Mock
        public com.qunar.abtest.useragent.AppAbCommonResult ab4mcc(java.util.Map<java.lang.String, java.lang.String> arg0, java.lang.String arg1, java.lang.String arg2) {
            return getInstance().ab4mccReturnValuePMapStringString;
        }

        @Mock
        public com.qunar.abtest.useragent.AppAbCommonResult ab4mcc(java.util.Set<java.lang.String> arg0, java.lang.String arg1, com.qunar.abtest.useragent.AppClientInfo arg2, com.qunar.abtest.useragent.AppAdrComponentList arg3) {
            return getInstance().ab4mccReturnValuePSetStringAppclientinfoAppadrcomponentlist;
        }

        @Mock
        public com.qunar.abtest.useragent.AppAbCommonResult ab4mcc(java.lang.String arg0, java.lang.String arg1, java.lang.String arg2, java.lang.String arg3) {
            return getInstance().ab4mccReturnValuePStringStringStringString;
        }

        @Mock
        public com.qunar.abtest.ABSlot ab(java.lang.String arg0, java.lang.String arg1) {
            return getInstance().abReturnValuePStringString;
        }

        @Mock
        public com.qunar.abtest.ABSlot ab(java.lang.String arg0, java.lang.String arg1, com.qunar.abtest.useragent.AppClientInfo arg2) {
            return getInstance().abReturnValuePStringStringAppclientinfo;
        }

        @Mock
        public com.qunar.abtest.ABSlot ab(java.lang.String arg0, java.lang.String arg1, com.qunar.abtest.useragent.AppClientInfo arg2, com.qunar.abtest.useragent.AppAdrComponentList arg3) {
            return getInstance().abReturnValuePStringStringAppclientinfoAppadrcomponentlist;
        }

        @Mock
        public com.qunar.abtest.ABSlot ab(java.lang.String arg0, java.lang.String arg1, java.lang.String arg2) {
            return getInstance().abReturnValuePStringStringString;
        }

        @Mock
        public com.qunar.abtest.ABSlot ab(java.lang.String arg0, java.lang.String arg1, java.lang.String arg2, java.lang.String arg3) {
            return getInstance().abReturnValuePStringStringStringString;
        }

        @Mock
        public boolean equals(java.lang.Object arg0) {
            return getInstance().equalsReturnValue;
        }

        @Mock
        public int hashCode() {
            return getInstance().hashCodeReturnValue;
        }

        @Mock
        public java.lang.String toString() {
            return getInstance().toStringReturnValue;
        }

        public static void clear() {
        }

    }


    public static void setAb4mcReturnValuePMapAppclientinfoAppadrcomponentlist(java.util.Map<java.lang.String, com.qunar.abtest.useragent.AppAbStrategy> p) {
        getInstance().ab4mcReturnValuePMapAppclientinfoAppadrcomponentlist = p;
    }

    public static void setAb4mcReturnValuePMapStringString(java.util.Map<java.lang.String, com.qunar.abtest.useragent.AppAbStrategy> p) {
        getInstance().ab4mcReturnValuePMapStringString = p;
    }

    public static void setAb4mcReturnValuePSetStringAppclientinfoAppadrcomponentlist(java.util.Map<java.lang.String, com.qunar.abtest.useragent.AppAbStrategy> p) {
        getInstance().ab4mcReturnValuePSetStringAppclientinfoAppadrcomponentlist = p;
    }

    public static void setAb4mcReturnValuePStringStringStringString(java.util.Map<java.lang.String, com.qunar.abtest.useragent.AppAbStrategy> p) {
        getInstance().ab4mcReturnValuePStringStringStringString = p;
    }

    public static void setAb4mccReturnValuePMapAppclientinfoAppadrcomponentlist(com.qunar.abtest.useragent.AppAbCommonResult p) {
        getInstance().ab4mccReturnValuePMapAppclientinfoAppadrcomponentlist = p;
    }

    public static void setAb4mccReturnValuePMapStringString(com.qunar.abtest.useragent.AppAbCommonResult p) {
        getInstance().ab4mccReturnValuePMapStringString = p;
    }

    public static void setAb4mccReturnValuePSetStringAppclientinfoAppadrcomponentlist(com.qunar.abtest.useragent.AppAbCommonResult p) {
        getInstance().ab4mccReturnValuePSetStringAppclientinfoAppadrcomponentlist = p;
    }

    public static void setAb4mccReturnValuePStringStringStringString(com.qunar.abtest.useragent.AppAbCommonResult p) {
        getInstance().ab4mccReturnValuePStringStringStringString = p;
    }

    public static void setAbReturnValuePStringString(com.qunar.abtest.ABSlot p) {
        getInstance().abReturnValuePStringString = p;
    }

    public static void setAbReturnValuePStringStringAppclientinfo(com.qunar.abtest.ABSlot p) {
        getInstance().abReturnValuePStringStringAppclientinfo = p;
    }

    public static void setAbReturnValuePStringStringAppclientinfoAppadrcomponentlist(com.qunar.abtest.ABSlot p) {
        getInstance().abReturnValuePStringStringAppclientinfoAppadrcomponentlist = p;
    }

    public static void setAbReturnValuePStringStringString(com.qunar.abtest.ABSlot p) {
        getInstance().abReturnValuePStringStringString = p;
    }

    public static void setAbReturnValuePStringStringStringString(com.qunar.abtest.ABSlot p) {
        getInstance().abReturnValuePStringStringStringString = p;
    }

    public static void setEqualsReturnValue(boolean p) {
        getInstance().equalsReturnValue = p;
    }

    public static void setHashCodeReturnValue(int p) {
        getInstance().hashCodeReturnValue = p;
    }

    public static void setToStringReturnValue(java.lang.String p) {
        getInstance().toStringReturnValue = p;
    }


    public static void clear() {
        getInstance().ab4mcReturnValuePMapAppclientinfoAppadrcomponentlist = null;
        getInstance().ab4mcReturnValuePMapStringString = null;
        getInstance().ab4mcReturnValuePSetStringAppclientinfoAppadrcomponentlist = null;
        getInstance().ab4mcReturnValuePStringStringStringString = null;
        getInstance().ab4mccReturnValuePMapAppclientinfoAppadrcomponentlist = null;
        getInstance().ab4mccReturnValuePMapStringString = null;
        getInstance().ab4mccReturnValuePSetStringAppclientinfoAppadrcomponentlist = null;
        getInstance().ab4mccReturnValuePStringStringStringString = null;
        getInstance().abReturnValuePStringString = null;
        getInstance().abReturnValuePStringStringAppclientinfo = null;
        getInstance().abReturnValuePStringStringAppclientinfoAppadrcomponentlist = null;
        getInstance().abReturnValuePStringStringString = null;
        getInstance().abReturnValuePStringStringStringString = null;
        getInstance().equalsReturnValue = false;
        getInstance().hashCodeReturnValue = 0;
        getInstance().toStringReturnValue = null;
    }


}
